package com.lanp.gencode.test;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang.StringUtils;

import java.math.BigDecimal;

public class t9 {
    static String a = "{\n" +
            "        \"product_level\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"promotion_id_company_list\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"property_extend\": {\n" +
            "          \"properties\": {\n" +
            "            \"contact_iscyl\": {\n" +
            "              \"type\": \"boolean\"\n" +
            "            },\n" +
            "            \"frame_nosewidth\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"contact_diameter_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_arc\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"solution_capacity\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"lens_refractive_index\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"contact_dk\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"lens_material\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"frame_legwidth\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"contact_water\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"frame_frametype\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_thickness_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_water_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"frame_facewidth\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"contact_material\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"frame_material\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"lens_refractive_index_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_discardcycle\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"lens_function\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"lens_film\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_arc_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_diameter\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"solution_capacity_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_thickness\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"series\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"target_user\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_dk_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"category_name\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"promotion_title\": {\n" +
            "          \"type\": \"text\"\n" +
            "        },\n" +
            "        \"origin\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"has_rebate\": {\n" +
            "          \"type\": \"boolean\"\n" +
            "        },\n" +
            "        \"product_code\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"stock_state\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"property_sku\": {\n" +
            "          \"properties\": {\n" +
            "            \"color\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"size\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            },\n" +
            "            \"cyl\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            },\n" +
            "            \"degree\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            },\n" +
            "            \"model\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"axis\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"spec\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"score\": {\n" +
            "          \"properties\": {\n" +
            "            \"seller_shop\": {\n" +
            "              \"properties\": {\n" +
            "                \"postage_policy\": {\n" +
            "                  \"type\": \"double\"\n" +
            "                },\n" +
            "                \"refund_rate\": {\n" +
            "                  \"type\": \"double\"\n" +
            "                },\n" +
            "                \"data_integrity\": {\n" +
            "                  \"type\": \"double\"\n" +
            "                },\n" +
            "                \"delivery_time\": {\n" +
            "                  \"type\": \"double\"\n" +
            "                },\n" +
            "                \"product_quantity\": {\n" +
            "                  \"type\": \"double\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"platform\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"sales_volume\": {\n" +
            "              \"type\": \"double\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"promotion_id_product_list\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"seller_shop\": {\n" +
            "          \"properties\": {\n" +
            "            \"business_scope\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            },\n" +
            "            \"shop_id\": {\n" +
            "              \"type\": \"long\"\n" +
            "            },\n" +
            "            \"shop_area\": {\n" +
            "              \"properties\": {\n" +
            "                \"province\": {\n" +
            "                  \"properties\": {\n" +
            "                    \"code\": {\n" +
            "                      \"type\": \"keyword\"\n" +
            "                    },\n" +
            "                    \"name\": {\n" +
            "                      \"type\": \"keyword\"\n" +
            "                    }\n" +
            "                  }\n" +
            "                },\n" +
            "                \"city\": {\n" +
            "                  \"properties\": {\n" +
            "                    \"code\": {\n" +
            "                      \"type\": \"keyword\"\n" +
            "                    },\n" +
            "                    \"name\": {\n" +
            "                      \"type\": \"keyword\"\n" +
            "                    }\n" +
            "                  }\n" +
            "                },\n" +
            "                \"geo_point\": {\n" +
            "                  \"type\": \"geo_point\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"shop_name_history\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"reg_time\": {\n" +
            "              \"format\": \"epoch_millis\",\n" +
            "              \"type\": \"date\"\n" +
            "            },\n" +
            "            \"shop_name\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"shop_level\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"price\": {\n" +
            "          \"properties\": {\n" +
            "            \"market\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"min\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"max\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"price\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"promotion_price\": {\n" +
            "              \"type\": \"double\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"product_id\": {\n" +
            "          \"type\": \"long\"\n" +
            "        },\n" +
            "        \"send_location\": {\n" +
            "          \"properties\": {\n" +
            "            \"province\": {\n" +
            "              \"properties\": {\n" +
            "                \"code\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                },\n" +
            "                \"name\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"city\": {\n" +
            "              \"properties\": {\n" +
            "                \"code\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                },\n" +
            "                \"name\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"geo_point\": {\n" +
            "              \"type\": \"geo_point\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"supply_area\": {\n" +
            "          \"properties\": {\n" +
            "            \"area_name\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            },\n" +
            "            \"price\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"area_code\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"has_no_worry_return_goods\": {\n" +
            "          \"type\": \"boolean\"\n" +
            "        },\n" +
            "        \"sale_state_key\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"sales_volume\": {\n" +
            "          \"properties\": {\n" +
            "            \"last_month\": {\n" +
            "              \"type\": \"long\"\n" +
            "            },\n" +
            "            \"last_90_day\": {\n" +
            "              \"type\": \"long\"\n" +
            "            },\n" +
            "            \"last_day\": {\n" +
            "              \"type\": \"long\"\n" +
            "            },\n" +
            "            \"last_week\": {\n" +
            "              \"type\": \"long\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"image\": {\n" +
            "          \"index\": false,\n" +
            "          \"type\": \"text\"\n" +
            "        },\n" +
            "        \"sale_mode\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"sub_title\": {\n" +
            "          \"type\": \"text\"\n" +
            "        },\n" +
            "        \"brand_name\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"doc_id\": {\n" +
            "          \"type\": \"text\"\n" +
            "        },\n" +
            "        \"product_name\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"tags\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"onsale_time\": {\n" +
            "          \"format\": \"epoch_millis\",\n" +
            "          \"type\": \"date\"\n" +
            "        },\n" +
            "        \"last_mod_time\": {\n" +
            "          \"format\": \"epoch_millis\",\n" +
            "          \"type\": \"date\"\n" +
            "        },\n" +
            "        \"sale_state\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"promotion\": {\n" +
            "          \"properties\": {\n" +
            "            \"buyer_max_num\": {\n" +
            "              \"type\": \"long\"\n" +
            "            },\n" +
            "            \"end_time\": {\n" +
            "              \"format\": \"epoch_millis\",\n" +
            "              \"type\": \"date\"\n" +
            "            },\n" +
            "            \"begin_time\": {\n" +
            "              \"format\": \"epoch_millis\",\n" +
            "              \"type\": \"date\"\n" +
            "            },\n" +
            "            \"promotion_money\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"promotion_price\": {\n" +
            "              \"type\": \"double\"\n" +
            "            }\n" +
            "          }\n" +
            "        }\n" +
            "      }";

    static String b = "{\n" +
            "        \"doc_id\": {\n" +
            "          \"type\": \"text\"\n" +
            "        },\n" +
            "        \"product_id\": {\n" +
            "          \"type\": \"long\"\n" +
            "        },\n" +
            "        \"product_name\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"product_code\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"sub_title\": {\n" +
            "          \"type\": \"text\"\n" +
            "        },\n" +
            "        \"promotion_title\": {\n" +
            "          \"type\": \"text\"\n" +
            "        },\n" +
            "        \"category_name\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"brand_name\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"origin\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"spec\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"onsale_time\": {\n" +
            "          \"format\": \"epoch_millis\",\n" +
            "          \"type\": \"date\"\n" +
            "        },\n" +
            "        \"last_mod_time\": {\n" +
            "          \"format\": \"epoch_millis\",\n" +
            "          \"type\": \"date\"\n" +
            "        },\n" +
            "        \"image\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"index\": false\n" +
            "        },\n" +
            "        \"price\": {\n" +
            "          \"properties\": {\n" +
            "            \"market\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"min\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"max\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"promotion_price\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"price\": {\n" +
            "              \"type\": \"double\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"stock_state\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"sale_state\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"sale_state_key\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"sales_volume\": {\n" +
            "          \"properties\": {\n" +
            "            \"last_day\": {\n" +
            "              \"type\": \"long\"\n" +
            "            },\n" +
            "            \"last_week\": {\n" +
            "              \"type\": \"long\"\n" +
            "            },\n" +
            "            \"last_month\": {\n" +
            "              \"type\": \"long\"\n" +
            "            },\n" +
            "            \"last_90_day\": {\n" +
            "              \"type\": \"long\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"property_sku\": {\n" +
            "          \"properties\": {\n" +
            "            \"color\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"model\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"degree\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            },\n" +
            "            \"size\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            },\n" +
            "            \"cyl\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            },\n" +
            "            \"axis\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"property_extend\": {\n" +
            "          \"properties\": {\n" +
            "            \"contact_discardcycle\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_water\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"contact_water_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_arc\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"contact_arc_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_diameter\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"contact_diameter_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_thickness\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"contact_thickness_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_iscyl\": {\n" +
            "              \"type\": \"boolean\"\n" +
            "            },\n" +
            "            \"contact_dk\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"contact_dk_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"contact_material\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"solution_capacity\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"solution_capacity_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"frame_frametype\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"frame_material\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"frame_facewidth\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"frame_nosewidth\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"frame_legwidth\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"target_user\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"lens_material\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"lens_function\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"lens_film\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"lens_refractive_index\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"lens_refractive_index_str\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"series\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"tags\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"seller_shop\": {\n" +
            "          \"properties\": {\n" +
            "            \"shop_id\": {\n" +
            "              \"type\": \"long\"\n" +
            "            },\n" +
            "            \"shop_name\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"shop_name_history\": {\n" +
            "              \"type\": \"text\",\n" +
            "              \"fields\": {\n" +
            "                \"keyword\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"reg_time\": {\n" +
            "              \"format\": \"epoch_millis\",\n" +
            "              \"type\": \"date\"\n" +
            "            },\n" +
            "            \"shop_area\": {\n" +
            "              \"properties\": {\n" +
            "                \"geo_point\": {\n" +
            "                  \"type\": \"geo_point\"\n" +
            "                },\n" +
            "                \"province\": {\n" +
            "                  \"properties\": {\n" +
            "                    \"code\": {\n" +
            "                      \"type\": \"keyword\"\n" +
            "                    },\n" +
            "                    \"name\": {\n" +
            "                      \"type\": \"keyword\"\n" +
            "                    }\n" +
            "                  }\n" +
            "                },\n" +
            "                \"city\": {\n" +
            "                  \"properties\": {\n" +
            "                    \"code\": {\n" +
            "                      \"type\": \"keyword\"\n" +
            "                    },\n" +
            "                    \"name\": {\n" +
            "                      \"type\": \"keyword\"\n" +
            "                    }\n" +
            "                  }\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"business_scope\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            },\n" +
            "            \"shop_level\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"send_location\": {\n" +
            "          \"properties\": {\n" +
            "            \"geo_point\": {\n" +
            "              \"type\": \"geo_point\"\n" +
            "            },\n" +
            "            \"province\": {\n" +
            "              \"properties\": {\n" +
            "                \"code\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                },\n" +
            "                \"name\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            },\n" +
            "            \"city\": {\n" +
            "              \"properties\": {\n" +
            "                \"code\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                },\n" +
            "                \"name\": {\n" +
            "                  \"type\": \"keyword\"\n" +
            "                }\n" +
            "              }\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"supply_area\": {\n" +
            "          \"properties\": {\n" +
            "            \"area_code\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            },\n" +
            "            \"area_name\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            },\n" +
            "            \"price\": {\n" +
            "              \"type\": \"double\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"sale_mode\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"score\": {\n" +
            "          \"properties\": {\n" +
            "            \"sales_volume\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"platform\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"seller_shop\": {\n" +
            "              \"properties\": {\n" +
            "                \"delivery_time\": {\n" +
            "                  \"type\": \"double\"\n" +
            "                },\n" +
            "                \"postage_policy\": {\n" +
            "                  \"type\": \"double\"\n" +
            "                },\n" +
            "                \"data_integrity\": {\n" +
            "                  \"type\": \"double\"\n" +
            "                },\n" +
            "                \"product_quantity\": {\n" +
            "                  \"type\": \"double\"\n" +
            "                },\n" +
            "                \"refund_rate\": {\n" +
            "                  \"type\": \"double\"\n" +
            "                }\n" +
            "              }\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"promotion\": {\n" +
            "          \"properties\": {\n" +
            "            \"begin_time\": {\n" +
            "              \"format\": \"epoch_millis\",\n" +
            "              \"type\": \"date\"\n" +
            "            },\n" +
            "            \"end_time\": {\n" +
            "              \"format\": \"epoch_millis\",\n" +
            "              \"type\": \"date\"\n" +
            "            },\n" +
            "            \"promotion_price\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"promotion_money\": {\n" +
            "              \"type\": \"double\"\n" +
            "            },\n" +
            "            \"buyer_max_num\": {\n" +
            "              \"type\": \"long\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"has_rebate\": {\n" +
            "          \"type\": \"boolean\"\n" +
            "        },\n" +
            "        \"promotion_id_company_list\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"promotion_id_product_list\": {\n" +
            "          \"type\": \"text\",\n" +
            "          \"fields\": {\n" +
            "            \"keyword\": {\n" +
            "              \"type\": \"keyword\"\n" +
            "            }\n" +
            "          }\n" +
            "        },\n" +
            "        \"product_level\": {\n" +
            "          \"type\": \"keyword\"\n" +
            "        },\n" +
            "        \"has_no_worry_return_goods\": {\n" +
            "          \"type\": \"boolean\"\n" +
            "        },\n" +
            "        \"shipper_id\": {\n" +
            "          \"type\": \"long\"\n" +
            "        },\n" +
            "        \"warehouse_id\": {\n" +
            "          \"type\": \"long\"\n" +
            "        }\n" +
            "      }";

    public static void main(String[] args) {
        //JSONObject ajson = JSON.parseObject(a);
        //JSONObject bjson = JSON.parseObject(b);
        //for (String bk : bjson.keySet()) {
        //    String astr = ajson.getString(bk);
        //    String bstr = bjson.getString(bk);
        //    System.out.println("当前key:  "+bk);
        //    System.out.println(StringUtils.equals(astr,bstr)?"想等":"不相等");
        //    System.out.println(astr);
        //    System.out.println(bstr);
        //    System.out.println("\n");
        //}
        BigDecimal a = new BigDecimal("-114.00");
        BigDecimal b = new BigDecimal("-114.00");
        System.out.println(a.add(b));
    }
}
